3479d2ac76a537d73ad002c95e6e891e361998ea,python/src/com/jetbrains/python/validation/CompatibilityVisitor.java,CompatibilityVisitor,visitPyCallExpression,#PyCallExpression#,533
Before Change
@Override
public void visitPyCallExpression(PyCallExpression node) {
super.visitPyCallExpression(node);
int len = 0;
StringBuilder message = new StringBuilder(myCommonMessage);
for (int i = 0; i != myVersionsToProcess.size(); ++i) {
LanguageLevel languageLevel = myVersionsToProcess.get(i);
if (!languageLevel.isPy3K()) {
final PsiElement firstChild = node.getFirstChild();
if (firstChild != null) {
final String name = firstChild.getText();
if (PyNames.SUPER.equals(name)) {
final PyArgumentList argumentList = node.getArgumentList();
if (argumentList != null && argumentList.getArguments().length == 0) {
len = appendLanguageLevel(message, len, languageLevel);
}
}
}
}
}
commonRegisterProblem(message, " not support this syntax. super() should have arguments in Python 2",
len, node, null);
highlightIncorrectArguments(node);
}
After Change
final PsiElement firstChild = node.getFirstChild();
if (firstChild != null && PyNames.SUPER.equals(firstChild.getText()) && ArrayUtil.isEmpty(node.getArguments())) {
final StringBuilder message = new StringBuilder(myCommonMessage);
final int len = appendLanguageLevels(message, myVersionsToProcess, level -> !level.isPy3K());
commonRegisterProblem(message, " not support this syntax. super() should have arguments in Python 2", len, node, null);
}
highlightIncorrectArguments(node);